Help for ircle 2.0

This is ircle, a Macintosh-based, windowed user interface to the Internet Relay Chat (IRC) network. 

This window contains:

0. Brief Overview on IRC
1. ircle Basics and Windows
2. IRC Commands and ircle Menus
3. Hints & Advice
4. General notes, Copyright Notice

0. Brief Overview on IRC

(If you know IRC, skip this section)
IRC is a multi-user online chatting system. It allows users to talk to other users all around the world via the Internet. This is done by connecting a client program (such as this one) to a server. You need a connection to any network connected to the Internet and running TCP/IP, and the MacTCP network driver. You have to select your preferred server (usually the nearest), using the popup menu in the Preferences dialog. The port number used by IRC servers is usually 6667.

On IRC, users are identified by nicknames of their own choice. Nicknames may be at most 9 characters long.  The nickname is set via preferences or the NICK command (see below). If you choose a nickname already in use, you have to set a different nick. Some users have registered their nicknames with the NickServ database. If you get a message from NickServ that your nick is in use, please choose another.

Communication on IRC is done via Channels and Private Messages. Channels have names starting with # (public channels) and & (local) and usually up to 12 characters long. You can see a list of the channels currently in use via the /LIST command. As soon as you join a channel with the /JOIN command, everything you type is sent to that channel and seen by all other users on that channel. You will see what the others type, respectively.

1. ircle Basics and Windows

ircle has a user interface similar to the traditional text-oriented IRC clients. If you know IRC, you will find it familiar. At the bottom of the screen is the input line in an own small floating window which also carries a line of status information. Everything you type will appear in the input line. When you press Return, the line gets sent to the current channel or, if it contains a command, that command is processed. A line is considered command if it starts with a '/' (slash). You can change this character with the /CMDCHAR command. See Section 2 on commands.

You connect to the server via Open conection in the File menu. When the connection to the server is established, the main message window will appear. This window has your nickname in the title bar. 
As soon as you join a channel, a channel window will appear with the channel name and topic as its title. All communication done in that channel will appear in that window. If you close this window, you leave the channel.

Querying a user (see below) will open a user window. All private messages from and to that user will appear in this window.
You can switch between windows using the mouse or ⌘-, (comma) key. The destination of text that you type is always determined by the frontmost window, i.e. the text goes to the channel or user whose name is the frontmost window's title.
The number of windows open at a time is limited only by your computer's memory and your capability of listening at many sources at a time :-)
All messages not coming from or related to a channel or queried user will appear in the main message window. That can include long lists from certain commands. You can skip these by pressing ⌘-. (dot).
You can arrange the channel windows using ⌘-T (Tile Windows, all channel window's size are adjusted so that they are completely visible), or the Stack Windows (all windows are put on top of each other, showing only the title bars).

2. IRC Commands and ircle Menus

Traditionally, IRC is controlled by typing commands. A line starting with a slash (/) is considered a command. ircle has implemented this behaviour instead of a mouse-driven environment for simplicity and user-interface compatibility to other IRC clients.  The topic of a channel (shown in the title bar) can be changed by double clicking in it, though. Certain frequently used commands can be reached via menus. These, however, do just paste the commands into the input line and thus are shortcuts for typing the commands.

The File menu has items for opening a connection, closing the topmost window (this will leave a channel), setting Preferences, opening/closing a logfile and the Quit command.
The Edit menu has the Copy and Paste items. Text in a window can be selected and copied, then pasted into the input line.
The Commands menus contain selected IRC commands. They get just pasted into the input line and are shortcut for convenience.
The Shortcuts menu provides a means for user-defined shortcuts. They can be defined in a dialog box and called via ⌘-0 through 9. Note that new settings work only after closing the definitions dialog.
The Font menu lets you set your preferred font and size. This will affect the currently active window and all new windows opened afterwards. It also gets stored in the Set file.
The Windows menu contains the titles of the active windows for fast selection.

Preferences settings

Preferences settings are stored in the 'ircle preferences' file inside your Preferences folder in the System Folder.

The settings in the General Preferences dialog are:

Server: The server you want to connect to. This has to be a numeric IP address or a full host.domain name.
Port: Usually 6667, when in doubt check with your server administrator.
Nickname: The nickname you want to start with.
Mail address: You should specify your login name or mail address on a fully qualified (with domain) machine.
Real name: Your real name (or whatever evil thing you want to look like your real name)
Notifications: when messages appear in an inactive window, or in any window while ircle is running in the background, you will get alerted by a sound and/or blinking menu bar item, as you can select by checking these boxes.
Indentation: causes channel text to be indented for clearer reading.

The settings in the Color Preferences dialog are:

Colors: sets various message and window colors. Click on a color box to change it.

Sounds: enables sound to be played when people sign on and off, are being kicked, when MODE changes appear and when NOTIFY find a person coming on or offline.

Description of IRC Commands

The following commands are currently available: (x) = untested. 

/admin nick 
/admin server           shows administrative info
/away message           marks you as being away (no message = not away)
/bye message            displays message and quits IRC
/broadcast message      sends a message to all of your windows
/channel channel        join a channel
/cmdchar c              changes the command-prefix (default /) to the given character
/cping nick             shows response time for nick
/ctcp target command    issues a CTCP command. Do /ctcp target clientinfo for more info.
/date                   display date and time
/dcc command nick       issues a DCC command (explained below)
/exit message           = /bye
/ignore pattern         ignore messages from nick!user@host (may contain wildcards)
        +pattern        ignore and give the ignored a notice
        -pattern        removes a pattern from the ignore list
/info                   gives info about server
/invite nick channel    invites nick to channel
/join                   joins channel last invited to
/join channel           = /channel
/kick channel nick      kicks nick from channel
/leave channel          leave a channel
/links                  show server connections
/list                   list channels
      -min n            list only channels with minimum of n users
      -max n              list only channels with maximum of n users
      -public           list only public channels
      -private          list only private channels
      -local            list only local channels
      -global           list only global channels
      -topic            list only channels with topic set
/lusers                 display statistics
/map                    displays a map of all server connections
/me action              sends an action description
/mode channel parm      set channel mode:
        +p              private channel
        +s              secret channel
        +i              invite-only channel
        +m              moderated channel
        +n              no messages from outside channel
        +t              only channel operator may set topic
        +l ##           channel may hold at most ## users
        +v nick         let nick speak on moderated channel
        +b nick         ban nick
        +k key          set channel password
        +o nick         nick becomes channel operator
        -x              removes flag x, where x is one of the above
/mode nick parm         set user mode:
           +i           invisible user
           +s           receive server notices
           +w           receive wallops
/motd [server]          show message-of-the-day [of another irc server]
/msg nick message       sends nick a private message
/names channel          list users on channel
/nick newnick           change your nickname
/note                   unknown
/notice                 (almost) like /msg
/notify                 show notify list
/notify nick            adds nick to notification list (show each signon/off)
        -nick           removes nick from notification list
/op nick                gives nick operator status
/deop nick              removes operator status from nick
/part channel           = /leave
/query nick             open window for private messages to nick
/quit message           = /bye
/server hostname [port] switch to a different server
/silence                show ignored users list
/silence mask           ignores users with selected mask
/signoff message        = /bye
/stats                  show statistical info:
       b                shows ban list
       c                shows list of connections
       k                ?
       l                ?
       o                shows list of operators
       p                ?

   
s                ?
       t                ?
       u                shows server uptime
       y                ?
/summon user@host       invites user@host to IRC (host must be running a server)
/time                   = /date
/topic channel text     set a channel topic (double clicking in the title bar of a channel lets you achieve the same)
/trace [user]           shows which servers are being used to connect to user
/type                   type a text file to the current channel
/users                  (x)
/version                show server version
/wallops message        message to all operators (deprecated)
/who channel            list people on channel
/whois                  give information about nick that last joined the channel or sent private message
/whois nick             give information about nick
/whowas nick            give information about nick no longer online

IRC Operator commands:

/connect                * connect two servers
/die                    * shut down a server
/hash                   * reconfigure a server
/host                   (x)
/kill nick              * kicks nick out of IRC
/oper                   * become operator
/rehash                 * reconfigure a server
/restart                * restart a server
/squit                  * eemove a link between servers
/uping                  * unknown

Valid commands for /dcc are:

chat  - requests CHAT connection for nick or answers such a request.
send  - send a file.
tsend - send a text file.
get   - receive a file (to be answered to a SEND request).
tget  - receive a text file.
list  - list all DCC connections.

3. Hints & Advice

When selecting a non-proportional font keep in mind that IRC was originally designed for text terminals and some commands and messages assume a fixed-size screen. That may make output look strange in some situations.

This client uses the ISO Latin-1 8-bit character set and converts Macintosh special characters to this code. Some characters can not be converted and will be mapped to nonsensical úrs. This also holds for DCC tsend/tget which are text-mode versions of send/get. The conversion table are those also used by Peter Lewis' FTPd.

4. General notes, Copyright Notice

This program was written by Olaf Titz (s_titz@ira.uka.de), July 1992-July 1993. You may use, copy and distribute it under the terms and conditions of the GNU General Public License, see the file COPYING that should have accompanied this program. Be sure to include the file COPYING when distributing this program.

Some parts of this program written by Peter N. Lewis, (©) 1992.
Written and compiled using THINK Pascal 2.0.1, thus Portions Copyright (©) 1988 Symantec Corp.

This program was modified by Onno R. Tijdgat (tijdgat@knoware.nl), September 1994-April 1995 using Think Pascal 4.0.2.

Copyright (©) 1994-95 Olaf Titz/Onno Tijdgat

THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 

System requirements: any Mac with System version 7.0 and the MacTCP driver.

This client is to fit version 2.7, 2.8 and Undernet servers. All commands and features obsoleted by 2.7 are taken out (as should be all obsolete servers by now). This client is fully compatible with the RFC1459 (IRC) & RFC 1430 (Ident service) documents.

Have fun!